package com.eduhzy.ttw.clazz.mvp.model.api.service;

import com.eduhzy.ttw.clazz.mvp.model.entity.ClazzReportHead;
import com.eduhzy.ttw.clazz.mvp.model.entity.ClazzReportList;
import com.eduhzy.ttw.clazz.mvp.model.entity.EditGroupData;
import com.eduhzy.ttw.clazz.mvp.model.entity.ReviewGroupData;
import com.eduhzy.ttw.clazz.mvp.model.entity.ReviewStudentData;
import com.eduhzy.ttw.clazz.mvp.model.entity.ClazzReviewIcon;
import com.eduhzy.ttw.clazz.mvp.model.entity.ClazzScoreData;
import com.eduhzy.ttw.clazz.mvp.model.entity.HomeData;
import com.eduhzy.ttw.commonsdk.entity.CommonData;

import java.util.List;
import java.util.Map;

import io.reactivex.Observable;
import retrofit2.http.Body;
import retrofit2.http.POST;

/**
 * @author xubo
 * @date 2018/12/4 10:57
 */
public interface ClazzApi {

    @POST("/dec/student/course/getClassList.jspx")
    Observable<CommonData<List<HomeData>>> getClassList(@Body Map<String, Object> map);

    @POST("/dec/student/course/getStudentList.jspx")
    Observable<CommonData<List<ReviewStudentData>>> getStudentList(@Body Map<String,Object> map);

    @POST("/dec/student/course/getEvaluateTagList.jspx")
    Observable<CommonData<List<ClazzScoreData>>> getEvaluateTagList(@Body Map<String,Object> map);

    @POST("/dec/student/course/scoreSave.jspx")
    Observable<CommonData<Map>> scoreSave(@Body Map<String,Object> map);

    @POST("/dec/student/course/evaluateTagDelete.jspx")
    Observable<CommonData<Map>> evaluateTagDelete(@Body Map<String,Object> map);

    @POST("/dec/student/course/getIconList.jspx")
    Observable<CommonData<List<ClazzReviewIcon>>> getIconList(@Body Map<String,Object> map);

    @POST("/dec/student/course/evaluateTagSave.jspx")
    Observable<CommonData<Map>> evaluateTagSave(@Body Map<String,Object> map);

    @POST("/dec/student/course/getTeamList.jspx")
    Observable<CommonData<List<ReviewGroupData>>> getTeamList(@Body Map<String,Object> map);

    @POST("/dec/student/course/getTeamUser.jspx")
    Observable<CommonData<List<ReviewStudentData>>> getTeamUser(@Body Map<String,Object> map);

    @POST("/dec/student/course/getTeamData.jspx")
    Observable<CommonData<EditGroupData>> getTeamData(@Body Map<String,Object> map);

    @POST("/dec/student/course/saveTeam.jspx")
    Observable<CommonData<Map>> saveTeam(@Body Map<String,Object> map);

    @POST("/dec/student/course/removeTeam.jspx")
    Observable<CommonData<Map>> removeTeam(@Body Map<String,Object> map);

    @POST("/dec/student/course/getUngroupUser.jspx")
    Observable<CommonData<List<ReviewStudentData>>> getUngroupUser(@Body Map<String,Object> map);

    @POST("/dec/student/course/getClassData.jspx")
    Observable<CommonData<ClazzReportHead>> getClassData(@Body Map<String,Object> map);

    @POST("/dec/student/course/getScoreRecordList.jspx")
    Observable<CommonData<List<ClazzReportList>>> getScoreRecordList(@Body Map<String,Object> map);
}
